package com.ashlikun.pdfview.scroll

import com.ashlikun.pdfview.PDFView

interface ScrollHandle {
    /**
     * 用于移动句柄，由PDFView内部调用
     *
     * @param position 当前滚动比率介于0和1之间
     */
    fun setScroll(position: Float)

    /**
     * 设置滚动句柄后由PDFView调用的方法。
     * 不要手动调用此方法。
     * 有关用法示例，请参阅[DefaultScrollHandle]
     *
     * @param pdfView PDFView instance
     */
    fun setupLayout(pdfView: PDFView)

    /**
     * 当应从布局中移除句柄时，PDFView调用的方法
     * 不要手动调用此方法。
     */
    fun destroyLayout()

    /**
     * 设置手柄上显示的页码
     *
     * @param pageNum 页码
     */
    fun setPageNum(pageNum: Int)

    /**
     * 获得手柄可见性
     *
     * @return 如果句柄可见，则为true，否则为false
     */
    fun shown(): Boolean

    /**
     * 显示句柄
     */
    fun show()

    /**
     * 立即隐藏句柄
     */
    fun hide()

    /**
     * 一段时间后隐藏句柄（由实现定义）
     */
    fun hideDelayed()
}
